package com.xlf.service.base.service;

import com.xlf.common.core.util.page.TableDataInfo;
import com.xlf.pojo.base.Judge;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xlf.pojo.dto.RunResult;
import com.xlf.service.base.pojo.dto.JudgeListReqDTO;
import com.xlf.service.base.pojo.dto.RanksDTO;
import com.xlf.service.base.pojo.dto.SubmitJudgeDTO;
import com.xlf.service.base.pojo.dto.TestJudgeDTO;
import com.xlf.service.base.pojo.vo.JudgeDetailVO;
import com.xlf.service.base.pojo.vo.JudgeResultVO;
import com.xlf.service.base.pojo.vo.JudgeVO;
import com.xlf.service.base.pojo.vo.RanksVO;

import java.util.List;

/**
 * @author 小新
 * @description 针对表【judge】的数据库操作Service
 * @createDate 2023-10-05 21:34:42
 */
public interface JudgeService extends IService<Judge> {

    String submitTestJudge(TestJudgeDTO testJudgeDto);

    JudgeVO submitProblemJudge(SubmitJudgeDTO judgeDto);

    RunResult getTestJudgeResult(String testJudgeKey);

    JudgeResultVO getSubmission(Long judgeId);

    TableDataInfo<JudgeVO> getJudgeList(JudgeListReqDTO judgeListReqDTO);

    JudgeDetailVO getJudge(Long id);

    TableDataInfo<RanksVO> getRanks();
}
